/**
 * Universidad Del Valle De Guatemala.
 * Algoritmos y Estructuras de Datos.
 * Hoja de Trabajo 7
 * Miguel Enrique Zea Arenales.
 * Carné 09238.
 * 17/10/2012.
 * Descripción: implementación de WordSet utilizando Splay Binary Search Trees. 
 */
package bsts;

/**
 * @author Miguel Zea
 */
public class SplayTreeSet implements WordSet {
    private SplayTree<Word> base; // Contenedor de palabras.

    /**
     * Pre: ninguna.
     * Post: construye un conjunto de palabras implementado con SplayTree.
     */
    public SplayTreeSet() {
        base = new SplayTree<Word>();
    }

    /**
     * Pre: el conjunto de palabras no está vacío.
     * Post: retorna la palabra especificada en el conjunto, si existe.
     */
    @Override
    public Word get(Word word) {
        if(!base.member(word)) return null;
        return base.delete(word);
    }
	
    /**
     * Pre: ninguna.
     * Post: se agrega una palabra al conjunto de ellas.
     */
    @Override
    public void add(Word wordObject) {
        base.insert(wordObject);
    }
}

